package com.shut.vehicle.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.Set;

@Mapper
public interface ImageRecordDao {

    /**
     * 保存一次服务记录的所有图片信息
     *
     * @param userId    用户ID
     * @param serviceId 服务记录ID
     * @param deviceId  设备ID
     * @param imagePath 图片路径集合
     */
    void saveImageRecord(@Param("userId") Integer userId, @Param("serviceId") Integer serviceId, @Param("deviceId") Integer deviceId, @Param("imagePath") Set<String> imagePath);


    /**
     * 查询某人某次服务产生的所有图片路径
     *
     * @param userId    用户ID
     * @param serviceId 服务记录ID
     * @return  图片路径
     */
    Set<String> listImagePathInServiceRecord(@Param("userId") Integer userId, @Param("serviceId") Integer serviceId);


    /**
     * 删除服务记录关联的图片信息
     *
     * @param serviceId 服务记录ID
     */
    void deleteImageInRecord(@Param("serviceId") Integer serviceId);


    /**
     * 删除某时间点之前的所有图片信息
     *
     * @param limitTime 截止时间
     */
    void deleteImageBeforeTime(@Param("limitTime") Date limitTime);


    /**
     * 查询某时间点之前的所有地址信息
     *
     * @param limitTime 截止时间
     * @return  图片地址
     */
    Set<String> listImageBeforeTime(@Param("limitTime") Date limitTime);


}
